package com.sjksy.demo.vo.ledger;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;

@Data
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "这个月分路线账单统计")
public class LedgerRouteStatisticVo {

    @Schema(description = "旅游线路ID", example = "1001")
    private Integer routeId; // 对应 tr.route_id

    @Schema(description = "旅游线路名称", example = "经典华东五市双飞六日游")
    private String routeName; // 对应 tr.route_name

    @Schema(description = "线路成本", example = "2999.50")
    private BigDecimal routeCost; // 对应 tr.price as route_cost

    @Schema(description = "订单数量", example = "85")
    private Long orderCount; // 对应 COUNT(l.ledger_id) as order_count

    @Schema(description = "总保险费用", example = "2550.00")
    private BigDecimal totalInsurance; // 对应 SUM(tc.insurance) as total_insurance

    @Schema(description = "营业收入", example = "98765.43")
    private BigDecimal totalIncome; // 对应 SUM(tc.money) as total_income

    @Schema(description = "利润（收入-成本-保险）", example = "93215.93")
    private BigDecimal profit; // 对应 SUM(tc.money - tr.price - tc.insurance) as profit

}
